package com.cs.beneficios.web.action;
import com.cs.beneficios.business.entity.AtributosDAO;
import com.cs.beneficios.business.entity.RepBeneficioOtorgadoDAO;
import com.cs.beneficios.business.entity.RepDetBeneficiarioDAO;
import com.cs.beneficios.business.entity.VflexDAO;
import com.cs.beneficios.business.model.AtributoVO;
import com.cs.beneficios.business.model.CondicionConsultaVO;
import com.cs.beneficios.business.model.RepAtributoVO;
import com.cs.beneficios.business.model.RepDetBeneficiarioVO;
import com.cs.beneficios.business.model.VflexVO;
import com.cs.beneficios.common.ConnectionFactory;
//import com.cs.beneficios.common.entity.Consultas;
import java.sql.SQLException;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
//import org.apache.struts.action.ActionError;
//import org.apache.struts.action.ActionErrors;
import java.io.IOException;
import javax.servlet.ServletException;

public class SelectionFilterAction extends Action 
{
  /**
   * This is the main action called from the Struts framework.
   * @param mapping The ActionMapping used to select this instance.
   * @param form The optional ActionForm bean for this request.
   * @param request The HTTP Request we are processing.
   * @param response The HTTP Response we are processing.
   * @return 
   * @throws java.io.IOException
   * @throws javax.servlet.ServletException
   */
  public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
  {
    HttpSession session = request.getSession();
    Object errorfecha = (Object)session.getAttribute("errorfecha");
    
    if(errorfecha == null)
    {
      RepDetBeneficiarioVO obParametro = (RepDetBeneficiarioVO)session.getAttribute("Parametros");
      Long codeSubpro = null;
      if(obParametro != null)
      {
        codeSubpro = obParametro.getCodeSubprograma(); 
      }
        
      //ConnectionFactory cf = new ConnectionFactory("beneficios","beneficios");
	  ConnectionFactory cf = new ConnectionFactory();
      RepDetBeneficiarioDAO objrdbDAO;
      RepBeneficioOtorgadoDAO objBeneOtorDAO;
      List lbeneotorgado = new LinkedList();
      lbeneotorgado = (List)session.getAttribute("BeneficiosOtorgado");
      boolean elim = false;
      
      Object limpiar = (Object)session.getAttribute("limpiar");
      if(limpiar!=null)
      {
        session.removeAttribute("listaatributos");
        session.removeAttribute("limpiar");
      }
      
      List lFiltrado;
      Long cont;
      
      Object obAccion = (Object)request.getParameter("accion");
      Collection coFiltrado = (Collection)session.getAttribute("ListaFiltrado");
      Object obListaFil = (Object)session.getAttribute("ListaFiltrado");
      
      if((Object)coFiltrado != null)
      {
        String strCodigo = request.getParameter("codigos");
        if((Object)strCodigo != null)
        {
          
          elim = true;
          
          CondicionConsultaVO objCondiCons = new CondicionConsultaVO();
          lFiltrado = (List)session.getAttribute("ListaFiltrado");
          for(int s = 0;s<lFiltrado.size();s++)
          {
            objCondiCons = (CondicionConsultaVO)lFiltrado.get(s);
            if(objCondiCons.getCodigo().toString().equals(strCodigo))
            {
              lFiltrado.remove(s);
              
            }
          }
  
        }
      }
      if(!elim)
      {
        if(obAccion.equals(""))
        {
          lFiltrado = new LinkedList();
          
          String ArrAtri[] = {"TIPO_DOCUMENTO","NUMERO_DOCUMENTO","PRIMER_NOMBRE","SEGUNDO_NOMBRE","PRIMER_APELLIDO","SEGUNDO_APELLIDO","DIRECCION_DESCRIPTIVA","DIRECCION_ENCASILLADA","SEXO","FECHA_NACIMIENTO","VFL_CODIGO_COMUNA","VFL_CODIGO_ZONA","LOCALIZACION_COBAMA","VFL_CODIGO_BARRIO","TELEFONO","ETNIA","CORREO_ELECTRONICO","FICHA_SISBEN","HOGAR_SISBEN","ORDEN_SISBEN","NIVEL_SISBEN","PUNTAJE_SISBEN","FE_ENCUESTA_SISBEN","DISCAPACIDAD_SISBEN"};
          String ArrAtri2[] = {"TIPO DOCUMENTO","NUMERO DOCUMENTO","PRIMER NOMBRE","SEGUNDO NOMBRE","PRIMER APELLIDO","SEGUNDO APELLIDO","DIRECCION DESCRIPTIVA","DIRECCION ENCASILLADA","SEXO","FECHA NACIMIENTO","COMUNA/CORREGIMIENTO","ZONA","LOCALIZACION COBAMA","BARRIO/VEREDA","TELEFONO","ETNIA","CORREO ELECTRONICO","FICHA SISBEN","HOGAR SISBEN","ORDEN SISBEN","NIVEL SISBEN","PUNTAJE SISBEN","FECHA ENCUESTA SISBEN","DISCAPACIDAD SISBEN"};
          List lAtributosBeneficiario = new LinkedList();
          List lAtriBeneficiarios = new LinkedList();
          for(int j=0;j<ArrAtri2.length;j++)
          {
            RepAtributoVO repatriVO = new RepAtributoVO(); 
            repatriVO.setNombre(ArrAtri[j]);
            repatriVO.setEtiqueta(ArrAtri2[j]);
            repatriVO.setOrigen("G");
            lAtributosBeneficiario.add(repatriVO);  
            if(j!=6 && j!=7)
            {
              RepAtributoVO repatri2VO = new RepAtributoVO();
              repatri2VO.setNombre(ArrAtri[j]);
              repatri2VO.setEtiqueta(ArrAtri2[j]);
              repatri2VO.setOrigen("G");
              lAtriBeneficiarios.add(repatri2VO);  
            }
          }
          session.setAttribute("listabeneficiario",lAtributosBeneficiario);
          session.setAttribute("lbeneficiarios",lAtriBeneficiarios);
        }else
        {
          String strCodAtributo = (String)request.getParameter("codigo");
          String strNombreAtri = "";
          session.setAttribute("codigo",strCodAtributo);
          Collection coListas = null;
          int espgen = 0;
          int ir = 0;
          if(!strCodAtributo.equals("nulo"))
          {
            List lVerificarOrigen = (List)session.getAttribute("listabeneficiario");
            int tamaVerifOrigen = lVerificarOrigen.size();
            if(tamaVerifOrigen != 0)
            {
              for(int i=0;i<tamaVerifOrigen;i++)
              {
                RepAtributoVO VO = (RepAtributoVO)lVerificarOrigen.get(i);
                String comparacion = VO.getNombre();
                if(strCodAtributo.equals(comparacion))
                {
                  ir=1;
                }
              }
            }
          }
          if(!strCodAtributo.equals("nulo"))
          {
            ///////////////////
            coListas = new LinkedList();
            //Proceso para llenar la lista de filtrado con los atributos del beneficiario
            if(strCodAtributo.equals("TIPO_DOCUMENTO"))
            {
              strNombreAtri = "TIPO DOCUMENTO";
              espgen=1;
              session.setAttribute("tipodato","A");
              String Arrlista[] = {"CEDULA CIUDADANIA","CEDULA EXTRANGERIA","NIT","PASAPORTE","REGISTRO CIVIL","TARJETA IDENTIDAD","NIP","NUIP","NISE","CABILDO","OTRO"};
              String Arrlista2[] = {"C","E","N","P","R","T","I","U","S","A","O"};
              for(int h=0;h<Arrlista2.length;h++)
              {
                VflexVO valorVO = new VflexVO(); 
                valorVO.setDescVflex( Arrlista[h]);
                valorVO.setNombreVflex(Arrlista2[h]+"~"+Arrlista[h]);
                valorVO.setCodigoVflex( Arrlista2[h]);
                coListas.add(valorVO);  
              }
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("NUMERO_DOCUMENTO")){
              strNombreAtri = "NUMERO DOCUMENTO";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","A");
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("PRIMER_NOMBRE")){
              strNombreAtri = "PRIMER NOMBRE";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","A");
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("SEGUNDO_NOMBRE")){
              strNombreAtri = "SEGUNDO NOMBRE";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","A");
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("PRIMER_APELLIDO")){
              strNombreAtri = "PRIMER APELLIDO";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","A");
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("SEGUNDO_APELLIDO")){
              strNombreAtri = "SEGUNDO APELLIDO";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","A");
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("SEXO")){
              strNombreAtri = "SEXO";
              espgen=1;
              session.setAttribute("tipodato","A");
              String Arrlista[] = {"MASCULINO","FEMENINO"};
              String Arrlista2[] = {"M","F"};
              for(int h=0;h<2;h++)
              {
                VflexVO valorVO = new VflexVO(); 
                valorVO.setDescVflex( Arrlista[h]);
                valorVO.setNombreVflex(Arrlista2[h]+"~"+Arrlista[h]);
                valorVO.setCodigoVflex( Arrlista2[h]);
                coListas.add(valorVO);  
              }
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("FECHA_NACIMIENTO")){
              strNombreAtri = "FECHA NACIMIENTO";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","F");
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("VFL_CODIGO_COMUNA")){
              strNombreAtri = "COMUNA/CORREGIMIENTO";
              espgen=1;
              session.setAttribute("tipodato","A");
              String strNomTipoVfl = "COMUNA"; 
              VflexDAO valorflexDAO = new VflexDAO(cf);
              try{
                coListas = valorflexDAO.getVflex(strNomTipoVfl);
                cf.closeConnection(valorflexDAO.getConn());
              }catch(SQLException e){
				System.err.println("/******** TDSUB - cwsub");
				e.printStackTrace();
				System.err.println("TDSSPE - cwsub ********/");
              }
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("VFL_CODIGO_ZONA")){
              strNombreAtri = "ZONA";
              espgen=1;
              session.setAttribute("tipodato","A");
              String strNomTipoVfl = "ZONA"; 
              VflexDAO valorflexDAO = new VflexDAO(cf);
              try{
                coListas = valorflexDAO.getVflex(strNomTipoVfl);
                cf.closeConnection(valorflexDAO.getConn());
              }catch(SQLException e){
				System.err.println("/******** TDSUB - cwsub");
				e.printStackTrace();
				System.err.println("TDSSPE - cwsub ********/");
              }
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("LOCALIZACION_COBAMA")){
              strNombreAtri = "LOCALIZACION COBAMA";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","N");
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("VFL_CODIGO_BARRIO")){
              strNombreAtri = "BARRIO/VEREDA";
              espgen=1;
              session.setAttribute("tipodato","A");
              String strNomTipoVfl = "BARRIO"; 
              VflexDAO valorflexDAO = new VflexDAO(cf);
              try{
                coListas = valorflexDAO.getVflex(strNomTipoVfl);
                cf.closeConnection(valorflexDAO.getConn());
              }catch(SQLException e){
				System.err.println("/******** TDSUB - cwsub");
				e.printStackTrace();
				System.err.println("TDSSPE - cwsub ********/");
              }
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("TELEFONO")){
              strNombreAtri = "TELEFONO";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","A");
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("ETNIA")){
              strNombreAtri = "ETNIA";
              espgen=1;
              session.setAttribute("tipodato","A");
              String Arrlista[] = {"AFROCOLOMBIANO","INDIGENA","OTRA"};
              String Arrlista2[] = {"A","I","O"};
              for(int h=0;h<3;h++){
                VflexVO valorVO = new VflexVO(); 
                valorVO.setDescVflex( Arrlista[h]);
                valorVO.setNombreVflex(Arrlista2[h]+"~"+Arrlista[h]);
                valorVO.setCodigoVflex( Arrlista2[h]);
                coListas.add(valorVO);  
              }
              session.setAttribute("listavfl",coListas); 
            }else if(strCodAtributo.equals("CORREO_ELECTRONICO")){
              strNombreAtri = "CORREO ELECTRONICO";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","A");
              session.setAttribute("listavfl",coListas);
            }else if (strCodAtributo.equals("FICHA_SISBEN")){
              strNombreAtri = "FICHA SISBEN";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","A");
              session.setAttribute("listavfl",coListas); 
            }else if (strCodAtributo.equals("HOGAR_SISBEN")){
              strNombreAtri = "HOGAR SISBEN";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","A");
              session.setAttribute("listavfl",coListas);
            }else if (strCodAtributo.equals("ORDEN_SISBEN")){
              strNombreAtri = "ORDEN SISBEN";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","A");
              session.setAttribute("listavfl",coListas);
            }else if (strCodAtributo.equals("NIVEL_SISBEN")){
              strNombreAtri = "NIVEL SISBEN";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","A");
              session.setAttribute("listavfl",coListas);
            }else if (strCodAtributo.equals("PUNTAJE_SISBEN")){
              strNombreAtri = "PUNAJE SISBEN";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","A");
              session.setAttribute("listavfl",coListas);
            }else if (strCodAtributo.equals("FE_ENCUESTA_SISBEN")){
              strNombreAtri = "FECHA ENCUESTA SISBEN";
              espgen=1;
              coListas=null;
              session.setAttribute("tipodato","F");
              session.setAttribute("listavfl",coListas);
            }else if (strCodAtributo.equals("DISCAPACIDAD_SISBEN")){
              strNombreAtri = "DISCAPACIDAD SISBEN";
              espgen=1;
              session.setAttribute("tipodato","A");
              String Arrlista[] = {"SI","NO"};
              String Arrlista2[] = {"SI","NO"};
              for(int h=0;h<2;h++){
                VflexVO valorVO = new VflexVO(); 
                valorVO.setDescVflex( Arrlista[h]);
                valorVO.setNombreVflex(Arrlista2[h]+"~"+Arrlista[h]);
                valorVO.setCodigoVflex( Arrlista2[h]);
                coListas.add(valorVO);  
              }
              session.setAttribute("listavfl",coListas); 
            }
           //fin proceso
           if(obAccion.equals("2"))
           {
              if(ir==1){
                Object fil = (Object)session.getAttribute("ListaFiltrado");
                if(fil!=null)
                {
                  lFiltrado = (List)session.getAttribute("ListaFiltrado");
                }else
                {
                  lFiltrado = new LinkedList();
                }
                
                CondicionConsultaVO objCondConsVO = new CondicionConsultaVO();
                objCondConsVO.setCodcampo(strCodAtributo);
                objCondConsVO.setCampo(strNombreAtri);
                String strdato =(String)session.getAttribute("tipodato");
                objCondConsVO.setTipocampo(strdato);
                
                objCondConsVO.setOrigen("G");
                objCondConsVO.setCodigo((lFiltrado.size())+"");       
                String filtro = request.getParameter("filter");
                int iFiltro = Integer.parseInt(filtro.trim());
            
                switch(iFiltro){ 
                  case 1: 
                       objCondConsVO.setFiltro("[>=] Mayor o Igual");
                       objCondConsVO.setCodfiltro(">=");
                  break;
                  case 2: 
                       objCondConsVO.setFiltro("[<=] Menor o Igual");
                       objCondConsVO.setCodfiltro("<=");
                  break;
                  case 3: 
                       objCondConsVO.setFiltro("[=] Igual a");
                       objCondConsVO.setCodfiltro("=");
                  break;
                  case 4: 
                       objCondConsVO.setFiltro("[!=] Diferente a");
                       objCondConsVO.setCodfiltro("<>");
                  break;
                  case 5: 
                       objCondConsVO.setFiltro("[<] Menor");
                       objCondConsVO.setCodfiltro("<");
                  break;
                  case 6: 
                       objCondConsVO.setFiltro("[>] Mayor");
                       objCondConsVO.setCodfiltro(">");
                  break;
                  case 7: 
                       objCondConsVO.setFiltro("Entre");
                       objCondConsVO.setCodfiltro("between");
                  break;
                }
                Object obValorComparar = (Object)request.getParameter("valor");
                Object obValor2Comparar = (Object)request.getParameter("valor2");
                if(obValorComparar != null)
                {
                  if(!strdato.equals("F"))
                  {
                    objCondConsVO.setValor(request.getParameter("valor"));
                    objCondConsVO.setEtiquetaValor(request.getParameter("valor"));
                  }else
                  {
                    String strFecha = request.getParameter("valor");
                    String ArrFecha[] = strFecha.split("-");
                    String strvalor = ArrFecha[2]+"/"+ArrFecha[1]+"/"+ArrFecha[0];
                    objCondConsVO.setValor(strvalor);
                    objCondConsVO.setEtiquetaValor(strvalor);
                  }
                }else
                {
                  String descVflex = request.getParameter("descVflex");
                  String codDesc[]= descVflex.split("~");
                  objCondConsVO.setValor(codDesc[0]);
                  objCondConsVO.setEtiquetaValor(codDesc[1]);
                }
                String objValor2 = (String)obValor2Comparar;
                if(obValor2Comparar != null && !objValor2.equalsIgnoreCase("")) 
                {
                  if(!strdato.equals("F"))
                  {
                    objCondConsVO.setValor2(request.getParameter("valor2"));
                  }else
                  {
                    String strFecha = request.getParameter("valor2");
                    String ArrFecha[] = strFecha.split("-");
                    String strvalor = ArrFecha[2]+"/"+ArrFecha[1]+"/"+ArrFecha[0];
                    objCondConsVO.setValor2(strvalor);
                   
                  }
                }
                
                lFiltrado.add(objCondConsVO);
                session.setAttribute("ListaFiltrado",lFiltrado);
              }
            }   
           }else
           {
             session.setAttribute("listavfl",coListas);
           }
           
           try
           {
             if(!strCodAtributo.equals("nulo"))
             {
               if(espgen!=1)
               {
                 objBeneOtorDAO = new RepBeneficioOtorgadoDAO(cf);
                 coListas = objBeneOtorDAO.getListaAtri(strCodAtributo);
                 if(coListas.size()==0)
                 {
                   coListas=null;
                 }
                cf.closeConnection(objBeneOtorDAO.getConn());
                           
                
                 AtributosDAO objAtriDAO = new AtributosDAO(cf);
                 AtributoVO AtriVO = objAtriDAO.GetPropiedadesAtri(strCodAtributo);
                 cf.closeConnection(objAtriDAO.getConn());
                 //proceso para saber el tipo de dato para mostrar el select del filtro
                 String strTipoDato = AtriVO.getTipodato();
                 session.setAttribute("tipodato",strTipoDato);
                 //fin proceso
                 
                 if(obAccion.equals("2"))
                 {
                   if(ir==0)
                   {
                     Object fil = (Object)session.getAttribute("ListaFiltrado");
                     if(fil!=null)
                     {
                       lFiltrado = (List)session.getAttribute("ListaFiltrado");
                     }else
                     {
                       lFiltrado = new LinkedList();
                     }
                     
                     CondicionConsultaVO objCondConsVO = new CondicionConsultaVO();
                     objCondConsVO.setCampo(AtriVO.getEtiqueta());
                     objCondConsVO.setCodcampo(AtriVO.getCodigo());
                     objCondConsVO.setOrigen("E");
                     objCondConsVO.setTipocampo(AtriVO.getTipodato());
                     String filtro = request.getParameter("filter");
                     int iFiltro = Integer.parseInt(filtro.trim());
                     objCondConsVO.setCodigo((lFiltrado.size())+"");
                     switch(iFiltro){ 
                       case 1: 
                            objCondConsVO.setFiltro("[>=] Mayor o Igual");
                            objCondConsVO.setCodfiltro(">=");
                       break;
                       case 2: 
                            objCondConsVO.setFiltro("[<=] Menor o Igual");
                            objCondConsVO.setCodfiltro("<=");
                       break;
                       case 3: 
                            objCondConsVO.setFiltro("[=] Igual a");
                            objCondConsVO.setCodfiltro("=");
                       break;
                       case 4: 
                            objCondConsVO.setFiltro("[!=] Diferente a");
                            objCondConsVO.setCodfiltro("<>");
                       break;
                       case 5: 
                            objCondConsVO.setFiltro("[<] Menor");
                            objCondConsVO.setCodfiltro("<");
                       break;
                       case 6: 
                            objCondConsVO.setFiltro("[>] Mayor");
                            objCondConsVO.setCodfiltro(">");
                       break;
                       case 7: 
                            objCondConsVO.setFiltro("Entre");
                            objCondConsVO.setCodfiltro("between");
                       break;
                     }
                     Object obValorComparar = (Object)request.getParameter("valor");
                     Object obValor2Comparar = (Object)request.getParameter("valor2");
                     if(obValorComparar != null)
                     {
                        if(!AtriVO.getTipodato().equals("F"))
                        {
                          objCondConsVO.setValor(request.getParameter("valor"));
                          objCondConsVO.setEtiquetaValor(request.getParameter("valor"));
                        }else
                        {
                          String strFecha = request.getParameter("valor");
                          String ArrFecha[] = strFecha.split("-");
                          String strvalor = ArrFecha[2]+"/"+ArrFecha[1]+"/"+ArrFecha[0];
                          objCondConsVO.setValor(strvalor);
                          objCondConsVO.setEtiquetaValor(strvalor);
                        }
                     }else
                     {
                       String descVflex = request.getParameter("descVflex");
                       String codDesc[]= descVflex.split("~");
                       objCondConsVO.setValor(codDesc[1]);
                       objCondConsVO.setEtiquetaValor(codDesc[1]);
                           
                     }
                     
                     if(obValor2Comparar != null)
                     {
                        if(!AtriVO.getTipodato().equals("F"))
                        {
                          objCondConsVO.setValor2(request.getParameter("valor2"));
                        }else
                        {
                          String strFecha = request.getParameter("valor2");
                          String ArrFecha[] = strFecha.split("-");
                          String strvalor = ArrFecha[2]+"/"+ArrFecha[1]+"/"+ArrFecha[0];
                          objCondConsVO.setValor2(strvalor);
                         
                        }
                     }
                     
                     lFiltrado.add(objCondConsVO);
                     session.setAttribute("ListaFiltrado",lFiltrado);
                   }
                 }
               }else
               {
                 session.setAttribute("listavfl",coListas);
               }
             }
             session.setAttribute("listavfl",coListas);
           }catch(SQLException e)
           {
			System.err.println("/******** TDSUB - cwsub");
			e.printStackTrace();
			System.err.println("TDSSPE - cwsub ********/");
           }
        }
        //Proceso para obtener los atributos del subprograma solo si se selecciona
         /*Object obCodsubpro = (Object)codeSubpro;
         
         if(obCodsubpro != null)
         {
           String strCodsubpro = codeSubpro+"";
          // Consultas objCons = new Consultas(cf);
           List lListaAtributos = new LinkedList();
           
           //lListaAtributos = objCons.getAtributoEspecificos(strCodsubpro,1);
           RepBeneficioOtorgadoDAO BeneOtorDAO = new RepBeneficioOtorgadoDAO(cf);
           try{
             lListaAtributos = BeneOtorDAO.getAtributoEspecificos(strCodsubpro);
             cf.closeConnection(BeneOtorDAO.getConn());
             session.setAttribute("listaatributos",lListaAtributos);
           }catch(SQLException e)
           {
             e.printStackTrace();
           }
         }*/
        
      }
    }
    return mapping.findForward("success");
  }
}